Aspects of the inventive subject matter generally relate to the field of storage devices, and, more particularly, to write operations to storage devices.
A data center can employ any one of the various available data storage technologies. Some data storage technologies are directed to the architectural/organization aspect of storage (e.g., network attached storage and storage area network). Some data storage technologies relate to how data is transmitted to and from storage devices (e.g., Fibre Channel and Internet Small Computer System Interface (iSCSI)). Other data storage technologies relate to data redundancy and performance (e.g., various RAID levels for storage). Regardless of the particular data storage technology or combination of data storage technologies employed by a data center, computers (“hosts”) perform read and write operations to the storage devices in accordance with the employed data storage technology(ies). The hosts perform the read and write operations via storage controllers associated with the storage devices.
These operations, in particular write operations, can be susceptible to adverse events, such as power loss. The controllers often employ caching. If power is lost while a controller is performing a write operation, the cache may contain a combination of new data (the data being written) and old data (the data existing in the cache and/or on disk prior to completion of the write operation).
In some scenarios, a failed operation can be overcome by performing the same operation again. If a power loss impacts the controller (but not the host) before a write operation completes, the host can request the write operation again once the controller is available again. In that case, the controller would request the write operation again upon determining that the controller never completed the write operation (e.g., no acknowledgement is received by the host from the controller).